草庐IT

MySQL 枚举空值

全部标签

java - 枚举是否比 public static final 常量更难维护?

我最近与friend讨论枚举与公共(public)静态最终常量。我告诉他publicstaticfinalconstants比枚举更易于维护,有时速度更快(android开发人员文档证实了这一点),也更方便。我还说过,使用枚举也会失去功能:您不能扩展枚举。您不能实例化枚举。然后他说,如果您需要实例化或扩展枚举,则不应使用枚举。然后我回答说,这就是为什么我们应该只使用常量,因为它更易于维护;如果在项目中期我们需要实例化一个枚举或扩展它怎么办?然后我们将不得不改变一切。为了说明我的观点而制作的枚举与常量示例:publicenumWeekDay{/**Wewillstartat1fordem

java - 想要设置在由枚举填充的 JComboBox 中选择的默认值

下面的语句如果条件不工作,请给我一些解决方案,如何为由ENUM填充的JComboBox设置选定的项目。publicenumEbayContryEnum{AT(3),AU(4),BE(5),CA(7),CH(14),DE(11),ES(13),FR(10),IE(2),IT(12),NL(16),UK(15),US(1);}例如:-if(country.equals("FR")){cbImportCountry.setSelectedItem("FR");}但它不起作用.. 最佳答案 cbImportCountry.setSelect

java - Spring JPA - 枚举中枚举字段的默认值

我们有一个带有枚举字段的实体-emailCommunicationStatus,我们想使用JPA注释为其设置一个默认值-'UNKNOWN'。但是,当我们将实体保存到数据库时,该字段的值为null而不是.对于boolean字段-isLocked,保存了正确的默认值(false)。@EntitypublicclassAccount{@Id@GeneratedValue@Column(name="id")protectedLongid;@Column(columnDefinition="booleandefaultfalse")privatebooleanisLocked;@Column(l

java - 关于在 java 类中定义的枚举的问题

此代码摘自SCJP练习测试:3.publicclassBridge{4.publicenumSuits{5.CLUBS(20),DIAMONDS(20),HEARTS(30),SPADES(30),6.NOTRUMP(40){publicintgetValue(intbid){return((bid-1)*30)+40;}};7.Suits(intpoints){this.points=points;}8.privateintpoints;9.publicintgetValue(intbid){returnpoints*bid;}10.}11.publicstaticvoidmain(

java - Java 枚举中可以拥有的成员数量有多少限制?

假设您在Java中有一个这样的假设枚举(纯粹出于演示目的,这不是我真正希望使用的代码):enumExample{FIRST,SECOND,THIRD,...LAST;}在编译器停止之前,枚举中最多可以包含多少成员?其次,当您的代码引用具有10个成员而不是100或1,000个成员的枚举时(除了存储大型类所需的明显内存开销之外),在运行时是否存在任何性能差异? 最佳答案 语言规范本身没有限制。然而,类文件有许多限制枚举数量的限制,上限为65,536(2^16)个枚举:字段数JVMS4.1指定ClassFile最多可以有65,536(2^

java枚举混淆

我遇到了以下Java代码。这里的接口(interface)包含两个方法,其中只有一个方法在枚举中实现。上面写着name()是自动实现的。我的问题是这怎么可能?我之前没有读过任何关于枚举中自动方法实现的规则。那么这里发生了什么?此外,代码没有给出任何类型的编译时错误。interfaceNamed{publicStringname();publicintorder();}enumPlanetsimplementsNamed{Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptune;//name()isimplementedautomagi

java - 如何在java中创建枚举对象

我正在尝试定义枚举类“Item”的三个不同对象,权重在0到20之间以及每个项目的描述这是我的代码:publicenumItem{//ThreeItemswithdescriptionsGOLD(2,"gold"),SILVER(12,"silver"),BRONZE(5,"bronze");privateintweight;privateStringdescription;publicintgetWeight(){returnweight;}publicStringtoString(){returndescription;}}我一直收到这个错误constructorIteminenum

java - 如何在枚举单例中实现日志记录?

我正在使用枚举单例,但实现日志记录很麻烦。这:publicenumFoo{INSTANCE;privatefinalLoggerlog=Logger.getLogger(Foo.class.getName());...}记录器的实例化方式与我为普通Java类实例化记录器的方式相同,但是我当然会收到以下错误:Foo.java:illegalreferencetostaticfieldfrominitializer是否有等效的方法来登录枚举单例? 最佳答案 在回答您的问题时,只需将记录器设为静态...顺便说一句,我认为即使对于对象实例也

java - 为什么使用常量而不是枚举?

我在许许多多的Java库中看到使用了许多常量,而枚举本可以很容易地使用。即使在Swing中,也有很多代码使用常量而不是枚举。为什么?使用枚举有什么缺点? 最佳答案 因为枚举是在Java5中引入的,而那些库在很早以前就已经编写好了。重构它们会破坏无数的现有应用程序。 关于java-为什么使用常量而不是枚举?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6978878/

java - 我们可以在 Java 中使用原子枚举吗?

今天我看到了这个用于AtomicEnum的实用程序类,但我想知道是否可以有一个原子枚举,为什么它不包含在Java标准库中?事实上,我非常怀疑它是否真的是原子的,以及这个实用程序类是否有效。AtomicEnum类是this我如何检查它是否以原子方式执行操作?是否有一种工具可以查看编译后的代码并确保它确实做到了一条机器指令?是否可以从代码中发现?因此,如果这个Atomic枚举有效,我就可以拥有一个AtomicEnum属性,并且可以在没有volatile关键字和同步getter和setter的情况下安全地使用它? 最佳答案 TodayIs